package com.puge.eduservice.client;

import com.puge.commonutils.R;
import org.springframework.stereotype.Component;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author by sun
 * @date 2021/6/25.20:27
 */

//      fallback = VodFileDegradeFeignClient.class   表示出现熔断现象后执行哪个方法
@FeignClient(value = "service-vod",fallback = VodFileDegradeFeignClient.class)  //定义要调用的模块在 nasoc 内服务的名称
@Component
public interface VodClient {

    //定义调用的方法的路径
    //    根据视频id删除阿里云视频：删除已经上传到阿里云的视频的接口
    //@PathVariable注解一定要指定参数名称，否则出错
    @DeleteMapping("/eduvod/video/removeAlyVideo/{id}")
    public  R removeAlyVideo(@PathVariable String id);


    //    定义调用删除多个视频的方法
    //    删除多个阿里云视频的方法
    //    参数为多个视频id
    @DeleteMapping("/eduvod/video/delete-batch")
    public R deleteBatch(@RequestParam("videoIdList") List<String>  videoIdList);
}
